Smooth communication can not be maintained between communication nodes due to a quality problem of a network under a complex network condition. In this situation, a forwarding mechanism may be adopted in a system by selecting another node in the network as a relay node for both of the communication parties to achieve the purpose of traffic relaying and further improve the quality of communication. A service has to be performed by adopting the forwarding mechanism in the case that a direct connection can not be offered or the effect of a connection can not satisfy a corresponding service demand (e.g., due to an excessive delay) in a P2P system. A specific method is as follows.
(1) A global tracker server is arranged to record status information of active super nodes and terminal nodes so as to support a service of charging, etc., on one hand, and to schedule a relay node on the other hand. In the case that a direct connection can not be offered or the effect of a connection can not satisfy a fundamental service demand, the tracker server schedules an appropriate super node or terminal node for a node requesting for a relay service according to load information of the super nodes and a Landmark distribution (GUID values) of the terminal nodes.
(2) A super node is adopted for relaying: for both of communication parties (e.g., a UE Bob and a UE Alice in communication), the most appropriate one (e.g., an SN C) is selected from all or a part of super nodes as a relay party of the session over a link connection of UE Bob-SN C-UE Alice or vice versa so that the SN C is responsible for forwarding session data between the UE Bob and the UE Alice. The SN C is selected so that the quality across the relay path of UE Bob-SN C-UE Alice shall better satisfy the service demand while achieving a load balance.
(3) A relay terminal node is adopted for relaying: a part of general terminal nodes can enable a better connection between nodes in two domains and have the features of online stability, a powerful capability, etc., so this part of general terminal nodes act as relay terminal nodes. The relay terminal node shall report periodically its load condition and heartbeat information to the tracker server and whether it acts as a relay party is determined as scheduled by the tracker server in the case that a relay function is required when a general terminal node initiates a session.
Skype-like software has become a popular communication means at present due to its clear sound quality, low cost, versatility and convenience to use. For transmission of a file by using the Skype, if a direct connection fails between two parties, relaying may be performed via a resource of another user. Relay is typically performed through a server when a direct connection fails with the same kind of software, but relay is performed for Skype through another terminal node in the network without making use of any resource of a server.
In the foregoing method, a general relay node contributes to network traffic relaying and is necessarily awarded on a precondition that the contribution of the general relay node to traffic relaying is acquired. However, the general relay node is usually located in a non-trusted network environment, so contribution information acquired separately at the system side from the general relay node may not be reliable, since there is a possibility that a general node without any contribution to traffic relaying may deceive the system side.
The inventors have identified, during making the invention, the following problem in the prior art: the relay mechanism has been widely adopted over the Internet, but a method and device for acquiring truly and reliably a contribution value of a node performing a relay function in a non-trusted network environment have not been proposed.